perm filename SORT.RLS[206,JMC] blob
sn#057941 filedate 1973-08-10 generic text, type C, neo UTF8
COMMENT ⊗ VALID 00002 PAGES
C REC PAGE DESCRIPTION
C00001 00001
C00002 00002 MERGE(U,V) ← IF NULL U THEN V
C00003 ENDMK
C⊗;
MERGE(U,V) ← IF NULL U THEN V
ELSE IF NULL V THEN U
ELSE IF CAR U < CAR V THEN CAR U . MERGE(CDR U,V)
ELSE CAR V . MERGE(U,CDR V);
SORT U ← SORTA(U,NIL);
SORTA(U,V) ← IF NULL U THEN SORTB(NIL,V)
ELSE SORTA(CDR U,SORTC(LIST CAR U,V));
SORTC(U,V) ← IF NULL V THEN LIST U
ELSE IF NULL CAR V THEN U . CDR V
ELSE NIL . SORTC(MERGE(U,CAR V),CDR V);
SORTB(U,V) ← IF NULL V THEN U ELSE SORTB(MERGE(U,CAR V),CDR V);
END;